Skip to content

feat(langsmith): add config.settings.webhookRequestTimeoutSec - #945

Open
Matthew Chan (mcschan) wants to merge 1 commit into
mainfrom
matthewchan/lso-810-webhook-request-timeout
Open

feat(langsmith): add config.settings.webhookRequestTimeoutSec#945
Matthew Chan (mcschan) wants to merge 1 commit into
mainfrom
matthewchan/lso-810-webhook-request-timeout

Conversation

@mcschan

Copy link
Copy Markdown

What

Adds config.settings.webhookRequestTimeoutSec, defaulted to "5", and templates it into langsmith.commonEnv as WEBHOOK_REQUEST_TIMEOUT_SEC.

Why

Automation rule and prompt webhooks had a hardcoded 5 second timeout in the backend. LSO-810 asks for 10s — customer endpoints often need longer than 5s, and today they work around it by returning 200 immediately and processing asynchronously.

The companion langchainplus change makes the timeout configurable via WEBHOOK_REQUEST_TIMEOUT_SEC and defaults it to 10s on LangSmith Cloud, 5s on self-hosted. Self-hosted stays at 5s deliberately: a longer timeout holds a rules worker slot longer, and we can neither observe nor quickly roll back those deployments.

This PR gives operators a first-class knob so raising it doesn't require hand-editing commonEnv.

Notes

  • Templated into langsmith.commonEnv rather than a per-service extraEnv because automation rules fire from the queue worker, not the API backendbackend.deployment.extraEnv alone would silently have no effect.
  • Because the chart emits the variable unconditionally, Helm installs always set it explicitly and the chart is the single source of truth. The backend's own self-hosted default (also 5) still covers non-Helm self-hosted installs, so the two agree.
  • Safe to merge before the backend ships: SharedSettings is configured extra="ignore", so an older image treats the variable as a no-op.
  • Chart version bumped 0.17.0-rc.60.17.0-rc.7 for ct lint's version-increment check. README.md rows added by hand in helm-docs format (helm-docs isn't installed locally); worth a skim.

Test plan

  • CI ct lint and helm unittest pass
  • helm template shows WEBHOOK_REQUEST_TIMEOUT_SEC: "5" on the queue and backend deployments
  • Setting config.settings.webhookRequestTimeoutSec: "10" renders "10"

Automation rule and prompt webhooks previously had a hardcoded 5 second
timeout. The backend now reads WEBHOOK_REQUEST_TIMEOUT_SEC, defaulting to
10 seconds on LangSmith Cloud and 5 on self-hosted.

Expose it as a chart value defaulted to 5 so upgrading does not change how
long a rules worker slot is held. Operators whose webhook endpoint needs
longer can raise it without editing commonEnv.

The value is templated into langsmith.commonEnv, which the queue deployment
includes -- automation rules fire from the rules worker, not the API backend,
so backend.deployment.extraEnv alone would not reach them.

Ref: LSO-810
@mcschan
Matthew Chan (mcschan) requested a review from a team as a code owner August 13, 2026 23:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant